#ifndef ESCENARIO_H
#define ESCENARIO_H
#include <stdio.h>
#include <vector>
#include <string>

#include <sigc++/signal.h>
#include "../common/Mutex.h"
class Objeto;

class Escenario {
private:
	bool detectarImpactos;
	short IDObjetos;
	std::vector<Objeto*> objetos;
	Mutex mutex;
public:
	Escenario();
	virtual ~Escenario(void);

	void noDetectarImpactos();
	bool detectarImpacto(Objeto *obj);
	
	void addObjeto(Objeto *obj);
	// Le ordena vivir a todos los objetos que contiene
	void vivir();
	// De existir el objeto, lo mata, sino no hace nada
	void matar(Objeto *obj);
	void matar(short id);

	sigc::signal<void, Objeto*> eventoObjNuevo;
	sigc::signal<void, short> eventoObjDestruido;
};

#endif
